/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package base;

import java.io.Serializable;

/**
 *
 * @author Tue
 */
public class Wave implements Serializable{
    private String waveString;
    private WaveEnvironment waveEnv;



//    private Status waveStatus;
//    private Mode waveMode;
    private TrackNode currentTrack;

    public Wave() {
        this.waveString = "";
        waveEnv = new WaveEnvironment();
//        waveStatus = null;
//        waveMode = Mode.NORMAL;
    }

    public Wave(String wave){
        this.waveString = wave;
        waveEnv = new WaveEnvironment();
//        waveStatus = null;
//        waveMode = Mode.NORMAL;
    }

    public Wave(String waveString, WaveEnvironment waveEnv) {
        this.waveString = waveString;
        this.waveEnv = waveEnv;
//        waveStatus = null;
//        waveMode = Mode.NORMAL;
    }

//    public Wave(String waveString, WaveEnvironment waveEnv, Status waveStatus) {
//        this.waveString = waveString;
//        this.waveEnv = waveEnv;
//        this.waveStatus = waveStatus;
//        waveMode = Mode.NORMAL;
//    }

    
    public WaveEnvironment getWaveEnv() {
        return waveEnv;
    }

    public void setWaveEnv(WaveEnvironment waveEnv) {
        this.waveEnv = waveEnv;
    }

//    public Status getWaveStatus() {
//        return waveStatus;
//    }
//
//    public void setWaveStatus(Status s){
//        this.waveStatus = s;
//    }

//    public Mode getWaveMode() {
//        return waveMode;
//    }

//    public void setWaveMode(Mode waveMode) {
//        this.waveMode = waveMode;
//    }

    public String getWaveString() {
        return waveString;
    }

    public void setWaveString(String waveString) {
        this.waveString = waveString;
    }

    public void setTrack(TrackNode track){
        this.currentTrack = track;
    }

    public TrackNode getTrack(){
        return this.currentTrack;
    }
    
    @Override
    public String toString() {
        return this.waveString;
    }

    public void dump(){
        System.out.println("Wave String: " + waveString);
        waveEnv.dump();
    }
//    public enum Status{TRUE, FALSE, DONE, ABORT}
//    public enum Mode{NORMAL, TRACK, CREATE}
}
